package com.museum.controller.api.admin;


import com.alibaba.fastjson.JSONObject;
import com.museum.base.BaseResponse;
import com.museum.entity.DO.Area;
import com.museum.entity.DTO.area.AreaDTO;
import com.museum.entity.DTO.area.addArea;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;

@Api(tags = "Super-地域管理")
public interface AdminAreaAPI {

    /*
     *  添加地域
     *  description: 添加地域
     */
    @ApiOperation("添加地域")
    @Transactional
    @PostMapping("/addArea")
    BaseResponse<JSONObject> addArea(@RequestBody(required = false) addArea areaDTO);

    /*
     *  删除地域 如果拥有子地域就级联删除
     */
    @ApiOperation("删除地域")
    @DeleteMapping("/deleteArea")
    BaseResponse<JSONObject> deleteArea(Integer areaNumber);


    /*
     *  查询地域 可以懒加载。
     */
    @ApiOperation("查询所有地域")
    @GetMapping("getAllArea")
    BaseResponse<JSONObject> getAllArea();

    /*
     *  修改地域
     */
    @ApiOperation("修改地域")
    @PutMapping("/updateArea")
    BaseResponse<JSONObject> updateArea(@RequestBody(required = false) Area updateDept);

}
